package com.freejy.ecommunity.common;

import org.apache.commons.lang3.StringUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * 全局配置类
 * @author jerry
 * @date 2015-07-22
 */
public class Global {
	
	/**
	 * 保存全局属性值
	 */
	private static Map<String, String> map = new HashMap<String, String>();
	
	/**
	 * 属性文件加载对象
	 */
	private static PropertiesLoader propertiesLoader = new PropertiesLoader("config.properties", "cfg.properties", "application.properties");
	
	/**
	 * 获取配置
	 */
	public static String getConfig(String key) {
		String value = map.get(key);
		if (StringUtils.isBlank(value)){
			value = propertiesLoader.getProperty(key);
			map.put(key, value);
		}
		return value;
	}
	
	/**
     * 获取配置
     * @param key
     * @param defaultVal
     * @return
     */
	public static String getConfig(String key, String defaultVal) {
		String value = getConfig(key);
		if (StringUtils.isBlank(value)){
			value = defaultVal;
            map.put(key, value);
		}
        return value;
	}
	
	/////////////////////////////////////////////////////////
	
	/**
	 * 是否是演示模式
	 */
	public static Boolean isTestMode() {
		String dm = getConfig("TestMode");
		return "true".equals(dm) || "1".equals(dm);
	}

	public static void appendCfg(Map<String,String> data){
		if(null!=data){
			map.putAll(data);
		}
	}
	
	/**
	 * 
	 * @return
	 */
	public static Map<String,String> getAllCfg(){
		return map;
	}
	
}
